package com.FH.organization.flow_path;

import com.FH.util.ResultDTO;

import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;

/**
 * Created by Administrator on 2016/9/21.
 */
@Path("/flowpath")
@Produces(MediaType.APPLICATION_JSON)
@RequestScoped
public class FlowPathResource {

@EJB
   private  FlowPathDAO flowPathDAO;

    @GET
    @Path("/{search}&{page}&{size}")
    public ResultDTO getFlowPathInfo(@PathParam("search") String search, @PathParam("page") String page, @PathParam("size") String size){
        //添加分页查询
        if(null==page||"".equals(page)||"0".equals(page))
        {
            page = "1";	//默认从第1页开始查起
        }/*else
        {
            page =((Integer.parseInt(page)-1)*Integer.parseInt(size))+"";
        }*/
        if(null==size||"".equals(size))
        {
            size = "10";//默认10行数据
        }
        return flowPathDAO.getFlowPathInfo(search,page,size);
    }

    @POST
   @Consumes(MediaType.APPLICATION_JSON)
    public ResultDTO addFlowPathInfo(FlowPathPullDTO flowPathPullDTO){
       return flowPathDAO.addFlowPathInfo(flowPathPullDTO);
    }


    /**
     * 没有 则修改
     *
     *  有了 则返回"流程已配置"
     * @param flowPathPullDTO
     * @return
     */
    @PUT
    @Path("/update")
    @Consumes(MediaType.APPLICATION_JSON)
    public ResultDTO updateFlowPathInfo(FlowPathPullDTO flowPathPullDTO){

        return flowPathDAO.updateFlowPathInfo(flowPathPullDTO);
    }

    /**
     * 查询到达某步流程的前面信息
     * @param
     * @return
     */
    @GET
    @Path("/one/{select}&{page}&{size}")
    public ResultDTO getPartFlowPathInfo(@PathParam("select") String select, @PathParam("page") String page, @PathParam("size") String size){
        //添加分页查询
        if(null==page||"".equals(page)||"0".equals(page))
        {
            page = "1";	//默认从第1页开始查起
        }/*else
        {
            page =((Integer.parseInt(page)-1)*Integer.parseInt(size))+"";
        }*/
        if(null==size||"".equals(size))
        {
            size = "10";//默认10行数据
        }
        return flowPathDAO.getPartFlowPathInfo(select,page,size);
    }

    /*
    删除操作
     */
    @PUT
    @Path("/")
    @Consumes(MediaType.APPLICATION_JSON)
    public ResultDTO deleteFlowPathInfo(FlowPathPullDTO flowPathPullDTO){
        return flowPathDAO.deleteFlowPathInfo(flowPathPullDTO);
    }

    @PUT
    @Path("/delete")
    @Consumes(MediaType.APPLICATION_JSON)
    public ResultDTO deleteAllFlowPathInfo(FlowPathPullDTO flowPathPullDTO){
        return flowPathDAO.deleteAllFlowPathInfo(flowPathPullDTO);
    }

    /**
     * 修改not_pass字段
     */
    @PUT
    @Path("/updatenotpass")
    public ResultDTO updateNotPassInfo(FlowPathPullDTO flowPathPullDTO){
        return flowPathDAO.updateNotPassInfo(flowPathPullDTO);
    }

    @PUT
    @Path("/updatenotpassinfo")
    public ResultDTO deletenot_PassInfo(FlowPathPullDTO flowPathPullDTO){
        return flowPathDAO.deletenot_PassInfo(flowPathPullDTO);
    }
}
